Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Latest commit

 

History

History
7 lines (4 loc) · 805 Bytes

3.13.5 - Swoole4 协程与 PHP 的 Yield/Generator 协程有什么区别.md

File metadata and controls

7 lines (4 loc) · 805 Bytes

Swoole4 协程与 PHP 的 Yield/Generator 协程有什么区别

在一些框架中使用了PHPYield/Generator来实现半自动化的协程。实际使用中,开发者需要在涉及协程逻辑的函数调用前增加yield关键字。这带来了额外的学习成本和编程心智负担,非常容易犯错。Yield/Generator代码风格与传统的同步风格代码存在冲突。无法复用已有代码。

Swoole4协程是全自动化的协程,开发者无需添加任何关键字,底层自动实现协程的切换和调度。Swoole4协程风格与传统的同步风格代码是一致的,因此可以复用已有代码。

4.1.0版本中,底层增加了php_stream兼容层,可一键地将redismysqlipdo和其他tcp socket stream代码协程化。